The present invention relates to an improved method for determining network addresses of host/server systems in a network, such as the Internet Protocol (IP) address of a host/server system in the internet, and, in particular, to improved methods for initially determining an IP address for an uninitiated network server/host system, for verifying the IP address of a network server/host system, and for rediscovering an IP address of a network server/host system when, for example, the server/host system has been moved in the network.
The use of networked systems has become common and widespread as offering greatly enhanced access to and communication between a user connected to a network and other users and resources also connected to the network. As is well known and understood, such networked systems are typically comprised of one or more server/host systems and a number of user/client systems, all interconnected through communications links and communicating through a common network protocol. The user/client systems are typically directly accessible to the network users and the server/host systems typically support and provide resources to the user/client systems and communications between user/client systems and between the user/client systems and the server/host systems.
While such systems can and do use a variety of protocols for communication between the elements of the system, one feature and requirement that is common to all such protocols is a means for individually identifying and addressing the elements of a system, that is, the server/host systems and the user/client systems. The internet, for example and as will be discussed further with regard to a presently preferred embodiment of the invention, uses a TCP/IP protocol in which Internet Protocol (IP) addresses, together with domain names and address masks, are used to uniquely identify each individual server/host or user/client in the network and to control the addressing of the server/host and user/client systems in the internet.
The assignment, tracking and maintenance of addresses for system elements in a network is a recurring problem, however, and particularly in the case of the server/host systems which function as the primary controllers of a system. This problem appears whenever a server/host is newly connected into a network and a network address has not been assigned, whenever an address has been assigned to a server/host but has not yet been verified as valid, and when a server/host has been moved to another network address and its address has not been update, or rediscovered.
A number of mechanisms and facilities have been developed in the prior art to deal with these problems. For example, the IP address for an uninitialized network server/host system has typically been determined through the BootP Protocol, the Dynamic Host Configuration Protocol (DHCP), which is an extension of the BootP Protocol, the Reverse Address Resolution Protocol (RARP), or the use of Uni-Cast Ethernet/IP packets, all of which are well known to those of ordinary skill in the relevant arts. In a like manner, DHCP has commonly been used for IP address validation and re-discovery. All of these protocols and methods have proven unsatisfactory, however, as none meet all of the requirements for performing all of the necessary operations. DHCP and BootP Protocol, for example, is inadequate in applications and systems that require that a server/host system be assigned a fixed IP address and in situations wherein a server/host system, such as a World Wide Web server, must be assigned multiple IP addresses.
The present invention provides a solution to these and other problems of the prior art and, while illustrated below for the specific example of an internet system, may be readily implemented for any network based device or system whose primary management interface, that is, the interface through which network addresses are assigned, verified and re-discovered, is network based.
The present invention is directed to an address discovery and verification apparatus for assigning a network address to a target server/host system in a network system wherein the network system includes a plurality of server/host systems interconnected by network links and the method of operation of the apparatus.
According to the present invention, the address discovery and verification apparatus, and the method for using the apparatus, includes a first part residing in a management server/host system and a second part residing in the target server/host system. The first and second parts of the address discovery/verification mechanism each include a plurality of network address sub-mechanisms, including a setup wizard mechanism, a reverse address resolution protocol mechanism, and a unit-cast address discovery mechanism, and an address manager mechanism for controlling operation of the network address mechanisms.
The address manager mechanism directs the operation of the network address sub-mechanisms through three modes of operation designated as the address discovery mode, the address verification mode and the operation mode.
In the address discovery mode, the address manager mechanism initiates concurrent operation of the reverse address resolution protocol mechanism, the setup wizard mechanism and the unit-cast address discovery mechanism to transmit reverse address resolution protocol requests and to monitor the network links for a reverse address resolution protocol response, to monitor the network links for a setup wizard configuration packet, and to monitor the network links for a uni-cast echo packet. The address manager mechanism the directs the reverse address resolution protocol mechanism, the setup wizard mechanism or the unit-cast address discovery mechanism to extract a received network address from the first received of a reverse address resolution protocol response, a setup wizard configuration packet or a uni-cast echo packet.
The address manager mechanism directs the network address sub-mechanisms in obtaining a subnetwork mask and a gateway address.
If the received network address was received in setup wizard configuration packet, and if the setup wizard configuration packet contained a subnetwork mask and a default gateway address, the address manager mechanism directs the target server/hot system into the verification mode by storing the network address, the subnetwork address and the gateway address in a static memory in the target server/host system and reinitializing operation of the target server/host system.
If the received network address was received in setup wizard configuration packet, and the setup wizard configuration packet did not include a subnetwork mask, the address manager mechanism directs the target server/host system to transmit an ICMP address mask request to a network default broadcast address and to either extract the subnetwork mask when a ICMP address mask response is received or to read a default mask stored in the target server/host system as the subnetwork mask when a ICMP address mask response is not received.
If the setup wizard configuration packet did not include a default gateway address, the address manager mechanism directs the target server/host system to periodically and concurrently transmit a router solicit message and a request message packet and to extract a default gateway address from the first received of either received router advertisement message or a response message packet.
The address manager mechanism then places the target server/host system in the verification mode by storing the network address, the subnetwork address and the gateway address in a static memory in the target server/host system and reinitializing operation of the target server/host system.
The network address sub-mechanisms may also include a dynamic host configuration protocol mechanism that the address manager mechanism will direct to perform an initial attempt. When the dynamic host configuration protocol mechanism successfully assigns a network address to the target server/host, the address manager mechanism will then direct that the network address be stored in a static memory in the target server/host system and reinitializing operation of the target server/host system. When the dynamic host configuration protocol mechanism does not succeed in assigning a network address to the target server/host, the address manager mechanism directs the network address sub-mechanism go to the start of the address discovery mode and initializes operation of the reverse address resolution protocol mechanism, the setup wizard mechanism and the unit-cast address discovery mechanism.
In verification mode, the address manager mechanism waits for the first uni-cast IP packet or Setup wizard packet to be received. If the IP address extracted from the receive packet matches the IP address in static storage, then the address manager directs the target server/host system to enter operation mode. If the extracted IP address does not match the IP address in static storage, then the address manager directs the target server/host system to enter discovery mode.